import request from '@/router/axios';
import options from '@/router/options'

/**
 * 查询用户分页列表配置参数
 */
export const getTableOption = () => {
    return options.load('/options/system/user/index-table.json');
}

/**
 * 查询用户信息配置参数
 * @returns {*}
 */
export const getUserInfoOption = () => options.load('/options/system/user/info-form.json')

/**
 * 查询用户分页数据
 * 
 * @param {*} parameter 请求参数
 */
export const getTableData = (parameter) => request({
    url: '/api/system/app/users',
    method: 'get',
    params: parameter
})

/**
 * 查询当前登录的用户信息
 */
export const getCurrentData = () => request({
    url: '/api/system/users/info',
    method: 'get'
})

/**
 * 新增用户
 * 
 * @param {*} parameter 
 */
export const createAt = (parameter) => request({
    url: '/api/system/app/users',
    method: 'post',
    data: parameter 
})

/**
 * 修改用户
 * 
 * @param {*} parameter 
 */
export const updateAt = (parameter) => request({
    url: `/api/system/app/users/${parameter.unique_key}`,
    method: 'patch',
    data: parameter 
})

/**
 * 删除用户
 * 
 * @param {string} key unique_key
 */
export const deleteAt = (id) => request({
    url: `/api/system/app/users/${id}`,
    method: 'delete'
})

/**
 * 修改我的信息
 *
 * @param {*} parameter
 */
export const updateMineInfo = (parameter) => request({
    url: `/api/system/users/mine/info`,
    method: 'patch',
    data: parameter
})

/**
 * 修改我的密码
 *
 * @param {*} parameter
 */
export const updateMinePwd = (parameter) => request({
    url: `/api/system/users/mine/pwd`,
    method: 'patch',
    data: parameter
})
